package com.qk.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
* 活动表
* @TableName activity
*/
@Data
public class Activity implements Serializable {

    /**
    * id, 主键
    */
    @NotNull(message="[id, 主键]不能为空")
    private Integer id;
    /**
    * 渠道来源, 1:线上活动, 2:推广介绍
    */
    @NotNull(message="[渠道来源, 1:线上活动, 2:推广介绍]不能为空")
    private Integer channel;
    /**
    * 活动名称
    */
    @NotBlank(message="[活动名称]不能为空")
    @Size(max= 20,message="编码长度不能超过20")
    private String name;
    /**
    * 开始时间
    */
    @NotNull(message="[开始时间]不能为空")
    private LocalDateTime startTime;
    /**
    * 结束时间
    */
    @NotNull(message="[结束时间]不能为空")
    private LocalDateTime endTime;
    /**
    * 活动简介
    */
    private String description;
    /**
    * 活动类型, 1:课程折扣, 2:代金券
    */
    @NotNull(message="[活动类型, 1:课程折扣, 2:代金券]不能为空")
    private Integer type;
    /**
    * 课程折扣
    */
    @NotNull(message="[课程折扣]不能为空")
    private Double discount;
    /**
    * 代金券金额（元）
    */
    @NotNull(message="[代金券金额（元）]不能为空")
    private Integer voucher;
    /**
    * 创建时间
    */
    private LocalDateTime createTime;
    /**
    * 修改时间
    */
    private LocalDateTime updateTime;
}
